import dayjs from "dayjs";
import { useConfigStore } from "@/store/modules/config";
const useConfig = useConfigStore();

// 格式化时间
export function getTime(v) {
  if (!v) {
    return "--";
  }
  return dayjs.unix(v).format("YYYY-MM-DD");
}
// 比较日期
export function isBefore(v) {
  if (!v) {
    return "--";
  }
  return dayjs().isBefore(v);
}

// 数字缩写
export function formatNumber(value) {
  const num = Number(value);
  if (num >= 1e9) {
    return (num / 1e9).toFixed(2) + "b"; // 十亿
  } else if (num >= 1e6) {
    return (num / 1e6).toFixed(2) + "m"; // 百万
  } else if (num >= 1e3) {
    return (num / 1e3).toFixed(2) + "k"; // 千
  }
  return num.toFixed(0);
}

export function fromWeiToFloat(value) {
  if (!value) {
    return value;
  }
  const wei = useConfig.web3.utils.fromWei(value, "ether");
  return parseFloat(parseFloat(wei).toFixed(4));
}

export function encryptAddress(value) {
  if (!value) return "-";
  return value?.replace(/^(.{4})(.*)(.{8})$/, "$1****$3");
}

export function handleInput2(inputValue) {
  inputValue = `${inputValue}`.replace(/[^0-9.]/g, "");

  if (inputValue.startsWith(".")) {
    inputValue = inputValue.slice(1);
  }

  const dotIndex = inputValue.indexOf(".");
  if (dotIndex !== -1) {
    inputValue =
      inputValue.slice(0, dotIndex + 1) +
      inputValue.slice(dotIndex + 1).replace(/\./g, "");
  }

  inputValue = inputValue.replace(/^(\-)*(\d+)\.(\d{0,4}).*$/, "$1$2.$3");

  return inputValue;
}
